package com.gitee.qdbp.general.system.api.personnel.model;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;

/**
 * 部门信息查询类
 *
 * @author zhh
 * @version 170712
 */
public class DepartmentCoreWhere extends DepartmentCoreBean {

    /** 版本序列号 **/
    private static final long serialVersionUID = 1L;

    /** 部门ID列表 **/
    private List<String> ids;

    /** 部门ID前模匹配条件 **/
    private String idStarts;

    /** 部门ID后模匹配条件 **/
    private String idEnds;

    /** 部门ID模糊查询条件 **/
    private String idLike;

    /** 租户编号空值/非空值查询 **/
    private Boolean tenantCodeIsNull;

    /** 租户编号前模匹配条件 **/
    private String tenantCodeStarts;

    /** 租户编号后模匹配条件 **/
    private String tenantCodeEnds;

    /** 租户编号模糊查询条件 **/
    private String tenantCodeLike;

    /** 部门编号列表 **/
    private List<String> deptCodes;

    /** 部门编号前模匹配条件 **/
    private String deptCodeStarts;

    /** 部门编号后模匹配条件 **/
    private String deptCodeEnds;

    /** 部门编号模糊查询条件 **/
    private String deptCodeLike;

    /** 部门名称空值/非空值查询 **/
    private Boolean deptNameIsNull;

    /** 部门名称前模匹配条件 **/
    private String deptNameStarts;

    /** 部门名称后模匹配条件 **/
    private String deptNameEnds;

    /** 部门名称模糊查询条件 **/
    private String deptNameLike;

    /** 上级部门编号空值/非空值查询 **/
    private Boolean parentCodeIsNull;

    /** 上级部门编号列表 **/
    private List<String> parentCodes;

    /** 上级部门编号前模匹配条件 **/
    private String parentCodeStarts;

    /** 上级部门编号后模匹配条件 **/
    private String parentCodeEnds;

    /** 上级部门编号模糊查询条件 **/
    private String parentCodeLike;

    /** 排序号(越小越靠前)空值/非空值查询 **/
    private Boolean sortIndexIsNull;

    /** 最小排序号(越小越靠前) **/
    private Integer sortIndexMin;

    /** 最大排序号(越小越靠前) **/
    private Integer sortIndexMax;

    /** 创建人ID空值/非空值查询 **/
    private Boolean creatorIdIsNull;

    /** 创建人ID前模匹配条件 **/
    private String creatorIdStarts;

    /** 创建人ID后模匹配条件 **/
    private String creatorIdEnds;

    /** 创建人ID模糊查询条件 **/
    private String creatorIdLike;

    /** 创建人姓名空值/非空值查询 **/
    private Boolean creatorNameIsNull;

    /** 创建人姓名前模匹配条件 **/
    private String creatorNameStarts;

    /** 创建人姓名后模匹配条件 **/
    private String creatorNameEnds;

    /** 创建人姓名模糊查询条件 **/
    private String creatorNameLike;

    /** 最小创建时间 **/
    private Date createTimeMin;

    /** 最大创建时间 **/
    private Date createTimeMax;

    /** 最小创建时间 **/
    private Date createTimeMinWithDay;

    /** 最大创建时间 **/
    private Date createTimeMaxWithDay;


    /** 获取部门ID列表 **/
    public List<String> getIds() {
        return ids;
    }

    /** 设置部门ID列表 **/
    public void setIds(List<String> ids) {
        this.ids = ids;
    }

    /** 增加部门ID **/
    public void addId(String... ids) {
        if (this.ids == null) {
            this.ids = new ArrayList<>();
        }
        this.ids.addAll(Arrays.asList(ids));
    }

    /** 获取部门ID前模匹配条件 **/
    public String getIdStarts() {
        return idStarts;
    }

    /** 设置部门ID前模匹配条件 **/
    public void setIdStarts(String idStarts) {
        this.idStarts = idStarts;
    }

    /** 获取部门ID后模匹配条件 **/
    public String getIdEnds() {
        return idEnds;
    }

    /** 设置部门ID后模匹配条件 **/
    public void setIdEnds(String idEnds) {
        this.idEnds = idEnds;
    }

    /** 获取部门ID模糊查询条件 **/
    public String getIdLike() {
        return idLike;
    }

    /** 设置部门ID模糊查询条件 **/
    public void setIdLike(String idLike) {
        this.idLike = idLike;
    }

    /** 判断租户编号是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getTenantCodeIsNull() {
        return tenantCodeIsNull;
    }

    /**
     * 设置租户编号空值查询(true:空值查询|false:非空值查询)
     *
     * @param tenantCodeIsNull 租户编号空值查询
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setTenantCodeIsNull(Boolean tenantCodeIsNull) {
        this.tenantCodeIsNull = tenantCodeIsNull;
    }

    /** 获取租户编号前模匹配条件 **/
    public String getTenantCodeStarts() {
        return tenantCodeStarts;
    }

    /** 设置租户编号前模匹配条件 **/
    public void setTenantCodeStarts(String tenantCodeStarts) {
        this.tenantCodeStarts = tenantCodeStarts;
    }

    /** 获取租户编号后模匹配条件 **/
    public String getTenantCodeEnds() {
        return tenantCodeEnds;
    }

    /** 设置租户编号后模匹配条件 **/
    public void setTenantCodeEnds(String tenantCodeEnds) {
        this.tenantCodeEnds = tenantCodeEnds;
    }

    /** 获取租户编号模糊查询条件 **/
    public String getTenantCodeLike() {
        return tenantCodeLike;
    }

    /** 设置租户编号模糊查询条件 **/
    public void setTenantCodeLike(String tenantCodeLike) {
        this.tenantCodeLike = tenantCodeLike;
    }

    /** 获取部门编号列表 **/
    public List<String> getDeptCodes() {
        return deptCodes;
    }

    /** 设置部门编号列表 **/
    public void setDeptCodes(List<String> deptCodes) {
        this.deptCodes = deptCodes;
    }

    /** 增加部门编号 **/
    public void addDeptCode(String... deptCodes) {
        if (this.deptCodes == null) {
            this.deptCodes = new ArrayList<>();
        }
        this.deptCodes.addAll(Arrays.asList(deptCodes));
    }

    /** 获取部门编号前模匹配条件 **/
    public String getDeptCodeStarts() {
        return deptCodeStarts;
    }

    /** 设置部门编号前模匹配条件 **/
    public void setDeptCodeStarts(String deptCodeStarts) {
        this.deptCodeStarts = deptCodeStarts;
    }

    /** 获取部门编号后模匹配条件 **/
    public String getDeptCodeEnds() {
        return deptCodeEnds;
    }

    /** 设置部门编号后模匹配条件 **/
    public void setDeptCodeEnds(String deptCodeEnds) {
        this.deptCodeEnds = deptCodeEnds;
    }

    /** 获取部门编号模糊查询条件 **/
    public String getDeptCodeLike() {
        return deptCodeLike;
    }

    /** 设置部门编号模糊查询条件 **/
    public void setDeptCodeLike(String deptCodeLike) {
        this.deptCodeLike = deptCodeLike;
    }

    /** 判断部门名称是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getDeptNameIsNull() {
        return deptNameIsNull;
    }

    /**
     * 设置部门名称空值查询(true:空值查询|false:非空值查询)
     *
     * @param deptNameIsNull 部门名称空值查询
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setDeptNameIsNull(Boolean deptNameIsNull) {
        this.deptNameIsNull = deptNameIsNull;
    }

    /** 获取部门名称前模匹配条件 **/
    public String getDeptNameStarts() {
        return deptNameStarts;
    }

    /** 设置部门名称前模匹配条件 **/
    public void setDeptNameStarts(String deptNameStarts) {
        this.deptNameStarts = deptNameStarts;
    }

    /** 获取部门名称后模匹配条件 **/
    public String getDeptNameEnds() {
        return deptNameEnds;
    }

    /** 设置部门名称后模匹配条件 **/
    public void setDeptNameEnds(String deptNameEnds) {
        this.deptNameEnds = deptNameEnds;
    }

    /** 获取部门名称模糊查询条件 **/
    public String getDeptNameLike() {
        return deptNameLike;
    }

    /** 设置部门名称模糊查询条件 **/
    public void setDeptNameLike(String deptNameLike) {
        this.deptNameLike = deptNameLike;
    }

    /** 判断上级部门编号是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getParentCodeIsNull() {
        return parentCodeIsNull;
    }

    /**
     * 设置上级部门编号空值查询(true:空值查询|false:非空值查询)
     *
     * @param parentCodeIsNull 上级部门编号空值查询
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setParentCodeIsNull(Boolean parentCodeIsNull) {
        this.parentCodeIsNull = parentCodeIsNull;
    }

    /** 获取上级部门编号列表 **/
    public List<String> getParentCodes() {
        return parentCodes;
    }

    /** 设置上级部门编号列表 **/
    public void setParentCodes(List<String> parentCodes) {
        this.parentCodes = parentCodes;
    }

    /** 增加上级部门编号 **/
    public void addParentCode(String... parentCodes) {
        if (this.parentCodes == null) {
            this.parentCodes = new ArrayList<>();
        }
        this.parentCodes.addAll(Arrays.asList(parentCodes));
    }

    /** 获取上级部门编号前模匹配条件 **/
    public String getParentCodeStarts() {
        return parentCodeStarts;
    }

    /** 设置上级部门编号前模匹配条件 **/
    public void setParentCodeStarts(String parentCodeStarts) {
        this.parentCodeStarts = parentCodeStarts;
    }

    /** 获取上级部门编号后模匹配条件 **/
    public String getParentCodeEnds() {
        return parentCodeEnds;
    }

    /** 设置上级部门编号后模匹配条件 **/
    public void setParentCodeEnds(String parentCodeEnds) {
        this.parentCodeEnds = parentCodeEnds;
    }

    /** 获取上级部门编号模糊查询条件 **/
    public String getParentCodeLike() {
        return parentCodeLike;
    }

    /** 设置上级部门编号模糊查询条件 **/
    public void setParentCodeLike(String parentCodeLike) {
        this.parentCodeLike = parentCodeLike;
    }

    /** 判断排序号(越小越靠前)是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getSortIndexIsNull() {
        return sortIndexIsNull;
    }

    /** 设置排序号(越小越靠前)空值查询(true:空值查询|false:非空值查询) **/
    public void setSortIndexIsNull(Boolean sortIndexIsNull) {
        this.sortIndexIsNull = sortIndexIsNull;
    }

    /** 获取最小排序号(越小越靠前) **/
    public Integer getSortIndexMin() {
        return sortIndexMin;
    }

    /** 设置最小排序号(越小越靠前) **/
    public void setSortIndexMin(Integer sortIndexMin) {
        this.sortIndexMin = sortIndexMin;
    }

    /** 获取最大排序号(越小越靠前) **/
    public Integer getSortIndexMax() {
        return sortIndexMax;
    }

    /** 设置最大排序号(越小越靠前) **/
    public void setSortIndexMax(Integer sortIndexMax) {
        this.sortIndexMax = sortIndexMax;
    }

    /** 判断创建人ID是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getCreatorIdIsNull() {
        return creatorIdIsNull;
    }

    /** 设置创建人ID空值查询(true:空值查询|false:非空值查询) **/
    public void setCreatorIdIsNull(Boolean creatorIdIsNull) {
        this.creatorIdIsNull = creatorIdIsNull;
    }

    /** 获取创建人ID前模匹配条件 **/
    public String getCreatorIdStarts() {
        return creatorIdStarts;
    }

    /** 设置创建人ID前模匹配条件 **/
    public void setCreatorIdStarts(String creatorIdStarts) {
        this.creatorIdStarts = creatorIdStarts;
    }

    /** 获取创建人ID后模匹配条件 **/
    public String getCreatorIdEnds() {
        return creatorIdEnds;
    }

    /** 设置创建人ID后模匹配条件 **/
    public void setCreatorIdEnds(String creatorIdEnds) {
        this.creatorIdEnds = creatorIdEnds;
    }

    /** 获取创建人ID模糊查询条件 **/
    public String getCreatorIdLike() {
        return creatorIdLike;
    }

    /** 设置创建人ID模糊查询条件 **/
    public void setCreatorIdLike(String creatorIdLike) {
        this.creatorIdLike = creatorIdLike;
    }

    /** 判断创建人姓名是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getCreatorNameIsNull() {
        return creatorNameIsNull;
    }

    /** 设置创建人姓名空值查询(true:空值查询|false:非空值查询) **/
    public void setCreatorNameIsNull(Boolean creatorNameIsNull) {
        this.creatorNameIsNull = creatorNameIsNull;
    }

    /** 获取创建人姓名前模匹配条件 **/
    public String getCreatorNameStarts() {
        return creatorNameStarts;
    }

    /** 设置创建人姓名前模匹配条件 **/
    public void setCreatorNameStarts(String creatorNameStarts) {
        this.creatorNameStarts = creatorNameStarts;
    }

    /** 获取创建人姓名后模匹配条件 **/
    public String getCreatorNameEnds() {
        return creatorNameEnds;
    }

    /** 设置创建人姓名后模匹配条件 **/
    public void setCreatorNameEnds(String creatorNameEnds) {
        this.creatorNameEnds = creatorNameEnds;
    }

    /** 获取创建人姓名模糊查询条件 **/
    public String getCreatorNameLike() {
        return creatorNameLike;
    }

    /** 设置创建人姓名模糊查询条件 **/
    public void setCreatorNameLike(String creatorNameLike) {
        this.creatorNameLike = creatorNameLike;
    }

    /** 获取最小创建时间 **/
    public Date getCreateTimeMin() {
        return createTimeMin;
    }

    /** 设置最小创建时间 **/
    public void setCreateTimeMin(Date createTimeMin) {
        this.createTimeMin = createTimeMin;
    }

    /** 获取最大创建时间 **/
    public Date getCreateTimeMax() {
        return createTimeMax;
    }

    /** 设置最大创建时间 **/
    public void setCreateTimeMax(Date createTimeMax) {
        this.createTimeMax = createTimeMax;
    }

    /** 获取最小创建时间 **/
    public Date getCreateTimeMinWithDay() {
        return createTimeMinWithDay;
    }

    /** 设置最小创建时间 **/
    public void setCreateTimeMinWithDay(Date createTimeMinWithDay) {
        this.createTimeMinWithDay = createTimeMinWithDay;
    }

    /** 获取最大创建时间 **/
    public Date getCreateTimeMaxWithDay() {
        return createTimeMaxWithDay;
    }

    /** 设置最大创建时间 **/
    public void setCreateTimeMaxWithDay(Date createTimeMaxWithDay) {
        this.createTimeMaxWithDay = createTimeMaxWithDay;
    }

}